By Charles-Henri Hallard
Enhanced RFM12B with Analog RSSI reading RF module library for Arduino
##License Same as the original libraries
You are free to share and adapt. But you need to give attribution and use the same license to redistribute.
For any explanation see RFM12 module see http://www.hoperf.com/rf/fsk_module/RFM12B.htm
Code based on following datasheet http://www.hoperf.com/upload/rf/RFM12B.pdf
##Features List of features implemented in this library:
- Module detection (can check if module is present on board or not)
- Accurate Analog RSSI measurement (need hardware hack by soldering one wire)
- Dynamic use of Hardware IRQ (D2/INT0 or D3/INT1) for Atmega328
- Dynamic use of Hardware IRQ (D10/INT0, D11/INT1 or D2/INT2) for Atmega1284
- Dynamic use of custom pin for Chip Select
- AtMega 1284p External Interrupt compatibility (use Felix's Mega Core pin mapping for this)
- Added time-out to initialize function to avoid lockup
This is an initial release, it could contain bugs, but works fine for now. Please let me know if you find issues.
###Installation
Copy the content of this library in the "Arduino/libraries/RFM12B_arssi" folder.
To find your Arduino folder go to File>Preferences in the Arduino IDE.
See this tutorial on Arduino libraries.
###Possible issues
- Analog RSSI signal differs from modules (location and values)
###Sample usage
- RFM12B_Struct_gateway_arssi Receive data then read RSSI and send back to node RSSI value
- RFM12B_Struct_node_arssi Read some values, send to gateway then receive RSSI value
##Blog dedicated post See this post for information
##Why
- I have long used Felix's RFM12B library, but I needed more features.
##Reference Thanks to all contributors starting Jean-Claude Wippler from jeelabs for writing original Library.
- Felix Russu from lowpowerlab for providing more flexibility to it.
- Strobotics for RFM12B hardware interface with some ARSSI description.
- Marc for Reading reading ARSSI signal of RFM12B and RFM12B chipset advanced description.
- Scott Daniels for Secret Arduino Voltmeter Measure Battery Voltage.
##Misc See news and other projects on my blog